<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        .bounce-enter-active{
            animation: bounce-in .5s;
        }
        .bounce-leave-active{
            animation: bounce-in 1s reverse;
        }
        /* @keyframes 动画名字 */
        @keyframes bounce-in {
            
            0%{
                transform: scale(0);
            }
            50%{
                transform: scale(1.5);
            }
            100%{
                transform: scale(1);
            }
        }

    </style>
</head>

<body>
    <div id="app">
        <button @click="show=!show">展示</button>
        <transition name="bounce">
            <p v-if="show">
                响应式原理作为 Vue 的核心，使用数据劫持实现数据驱动视图。在面试中是经常考查的知识点，也是面试加分项。
                    本文将会循序渐进的解析响应式原理的工作流程，主要以下面结构进行：
                    分析主要成员，了解它们有助于理解流程
                    将流程拆分，理解其中的作用
                    结合以上的点，理解整体流程
                    文章稍长，但部分是代码，还请耐心观看。为了方便理解原理，文中的代码会进行简化，如果可以请对照源码学习。</p>
        </transition>
    </div>
</body>
<script src="./vue.js"></script>
<script>

    let vm = new Vue({
        el: "#app",
        data: {
            show: false
        }
    })
</script>

</html>